#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "sys.h"
                  

//创建空链表
node* create(void)
{
	node* n = (node*)malloc(sizeof(node));
	n->next = NULL;

	return n;
}

struct user* tianjia(void)
{
	struct user* s = (struct user*)malloc(sizeof(struct user));
	printf("请输入普通用户的各项信息：");
	printf("请输入工号：");
	scanf("%d",&s->Job_ID);
	buffer();
	printf("请输入名字：");
	scanf("%20s",s->name);
	buffer();
	printf("请输入性别（0->女，1->男）：");
	scanf("%c",&s->sex);
	buffer();
	printf("请输入身份证号码：");
	scanf("%19s",s->ID);
	buffer();
	printf("请输入电话：");
	scanf("%11s",s->Telephone);
	buffer();
	printf("请输入用户密码：");
	scanf("%19s",s->password);
	buffer();

	return s;
}
//添加普通用户
void push_back(node* l, struct user* data)
{
	node* n = (node*)malloc(sizeof(node));
	n->data = data;
	n->next = NULL;

	while(l->next != NULL) 
	{
		if(l->next->data->Job_ID == data->Job_ID)
		{
			printf("此用户已存在\n");
			return;
		}
		l = l->next;
	}

	l->next = n;
}

//删除普通用户
//返回0失败，返回1成功
int dle(void)
{
	int ID;
	printf("请输入工号：");
	scanf("%d",&ID);
	return ID;
}

int remove_list(node*l, int ID)
{
	while(l->next != NULL && l->next->data->Job_ID != ID) l = l->next;
	if(l->next == NULL) return 0;
	node* p = NULL;
	l->next = l->next->next;
	free(p);
	return 1;
}

//修改普通用户信息
//返回0失败，返回1成功
int updata(node* l, int Job_ID)
{
	struct user* s = (struct user*)malloc(sizeof(struct user));
	l = l->next;
	while(l !=NULL && l->data->Job_ID != Job_ID) l = l->next;
	if(l == NULL) return 0;
	printf("修改前用户信息：");
	printf("工号：%d\n",l->data->Job_ID);
	printf("名字：%s\n",l->data->name);
	printf("性别：%s\n",l->data->sex == '1' ? "男" : "女");
	printf("身份证号码：%s\n",l->data->ID);
	printf("电话：%s\n",l->data->Telephone);

	printf("请输入用户修改的各项信息：");
	printf("请输入工号：");
	scanf("%d",&s->Job_ID);
	buffer();
	printf("请输入名字：");
	scanf("%20s",s->name);
	buffer();
	printf("请输入性别（0->女，1->男）：");
	scanf("%c",&s->sex);
	buffer();
	printf("请输入身份证号码：");
	scanf("%s",s->ID);
	buffer();
	printf("请输入电话：");
	scanf("%11s",s->Telephone);
	buffer();
	
	l->data = s;
	return 1;
}
//查找普通用户
//失败返回0，成功返回1

int find(node* l, int Job_ID)
{
	l = l->next;
	while(l != NULL && l->data->Job_ID != Job_ID) l = l->next;
	if(l == NULL) return 0;
	printf("员工相关信息如下：");
	printf("工号：%d\n",l->data->Job_ID);
//	printf("密码：%s\n",l->data->password);
	printf("名字：%s\n",l->data->name);
	printf("性别：%s\n",l->data->sex == '1' ? "男" : "女");
	printf("身份证号码：%s\n",l->data->ID);
	printf("电话：%s\n",l->data->Telephone);
	return 1;
}

/*
int find1(node* l)
{
	l = l->next;
	char nu[30];
	printf("请输入姓名：");
	scanf("%s",nu);
	while(l != NULL && *(strstr(l->data->name, nu))) l = l->next;
	if(l == NULL) return 0;
	printf("员工相关信息如下：");
	printf("工号：%d\n",l->data->Job_ID);
	printf("密码：%s\n",l->data->password);
	printf("名字：%s\n",l->data->name);
	printf("性别：%s\n",l->data->sex == '1' ? "男" : "女");
	printf("身份证号码：%s\n",l->data->ID);
	printf("电话：%s\n",l->data->Telephone);
	return 1;
}
*/
